package com.cykj.pos.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.cykj.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.math.BigDecimal;

/**
 * 商户交易记录对象 biz_merch_transactions
 *
 * @author ningbingwu
 * @date 2021-01-29
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
//@TableName("biz_merch_transactions")
public class BizMerchTransactions{

    private static final long serialVersionUID = 1L;
    /*时间*/
    @Excel(name = "交易时间")
    private String hostDate;

    private Integer pageNo;

    private Integer pageSize;

    /**
     * 和pos1.0交易通知关联uuid
     */
    @Excel(name = "商户订单号")
    private String uuid;
    /**
     * 设备SN号
     */
    @Excel(name = "系统商户编号")
    private String merchantNo;
    /**
     * 设备SN号
     */
    @Excel(name = "设备SN号")
    private String posCode;
    /*费率*/
    @Excel(name = "费率")
    private String feeName;
    /**
     * 商户实名姓名
     */
    @Excel(name = "商户实名姓名")
    private String userName;
    /*输入方式*/
    @Excel(name = "输入方式")
    private String enterMode;
    @Excel(name = "交易卡")
    private String pan;
    /**
     * 卡类型
     */
    @Excel(name = "卡类型")
    private String cardType;
    /**
     * 设备SN号
     */
    private String retrirefnum;
    /**
     * 交易金额（元）
     */
    @Excel(name = "交易金额 （元）")
    private BigDecimal transAmount;
    /*手续费*/
    @Excel(name = "手续费（元）")
    private String addiAmount;

    /*交易编码*/
    @Excel(name = "交易名称")
    private String transType;

    /**
     * 错误描述
     */
    @Excel(name = "交易状态")
    private String errorMsg;
    /**
     * 交易主键
     */
    @TableId(value = "trn_id")
    private Long trnId;
    private Long Id;
    /*开始时间*/
    private String beginTime;
    /*结束时间*/
    private String endTime;
    /*代理*/
    private Long merchId;
    private Long merchIdPros;
    private String returnUuid;
    private String flowState;
    private String simAmt;
    /*交易信息详情*/
    private String hostRetCode;

    /*分钟*/
    private String hostTime;

    /**
     * 邀请码
     */
    /*@Excel(name = "邀请码")*/
    private String innerMerchCode;
    private Long userId;

    /**
     * 用户商编
     */
    /*@Excel(name = "用户商编")*/
    private String merchFlagCode;

    /**
     * 外部订单号
     */
   /* @Excel(name = "外部订单号")*/
    private String orderId;



    /**
     * 交易编号
     */
    /*@Excel(name = "交易编号")*/
    private String idTxn;

    /**
     * 产品码
     */
    /*@Excel(name = "产品码")*/
    private String productCode;

    /**
     * 优惠费率标识
     */
    /*@Excel(name = "优惠费率标识")*/
    private String discountRateFlag;

    /**
     * 交易状态
     */
    /*@Excel(name = "交易状态")*/
    private String status;

    /**
     * 错误码
     */
    /*@Excel(name = "错误码")*/
    private String errorCode;

    /**
     * 交易请求时间
     */
    /*@Excel(name = "交易请求时间")*/
    private String transDate;

    /**
     * 输入模式
     */
    /*@Excel(name = "输入模式")*/
    private String serviceEntryMode;

    /**
     * 设备类型
     */
    /*@Excel(name = "设备类型")*/
    private String deviceType;



    /**
     * 商户手机号
     */
    /*@Excel(name = "商户手机号")*/
    private String phoneNo;

    /**
     * 区分智能收款和店面收银两种方式的标识
     */
    /*@Excel(name = "区分智能收款和店面收银两种方式的标识")*/
    private String isStoreCashier;

    /**
     * 产品名称
     */
    /*@Excel(name = "产品名称")*/
    private String receiptType;

    /**
     * S0手续费套餐生效标识
     */
   /* @Excel(name = "S0手续费套餐生效标识")*/
    private String s0PackageFlag;

    /**
     * 二级机构编号
     */
    /*@Excel(name = "二级机构编号")*/
    private String secondOrgId;

    /**
     * 直属机构编号
     */
   /* @Excel(name = "直属机构编号")*/
    private String directlyOrgId;

    /**
     * 一机双模标识
     */
    /*@Excel(name = "一机双模标识")*/
    private String specialMode;

    /**
     * e-sim卡服务费标识
     */
    /*@Excel(name = "e-sim卡服务费标识")*/
    private String esimFlag;

    /**
     * 用户实名身份证号
     */
    /*@Excel(name = "用户实名身份证号")*/
    private String idCardNo;

    /**
     * 交易上送商户编号
     */
    /*@Excel(name = "交易上送商户编号")*/
    private String authMerchId;

    /**
     * 授权商户编号
     */
    /*@Excel(name = "授权商户编号")*/
    private String authMerchantId;

    /**
     * 交易上送终端编号
     */
    /*@Excel(name = "交易上送终端编号")*/
    private String authTerminalId;

    /**
     * 交易方式
     */
    /*@Excel(name = "交易方式")*/
    private String tradeType;

    /**
     * 银行授权码
     */
    /*@Excel(name = "银行授权码")*/
    private String bankAuthCode;
    private Long transactionAmountId;

    /**
     * 店面收银交易标识
     */
    /*@Excel(name = "店面收银交易标识")*/
    private String storeCachierFlag;

    /**
     * 店面收银交易标识
     */
    /*@Excel(name = "交易状态")*/
    private String transactionStatus;

    /**
     * 原交易外部订单号
     */
    /*@Excel(name = "原交易外部订单号")*/
    private String originOutTraceNo;
    /**
     * 是否偷单 0：不偷 1：偷单
     */
    private String whetherSteal;
    @TableField(exist = false)
    private Long loginMerchId;
    @TableField(exist = false)
    private String orgnname;
    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();
    /*上级代理*/
    @Excel(name = "所属代理")
    private String merchName;
    private  String tableName;

    @TableField(exist = false)
    private String actualFeeName;
    @TableField(exist = false)
    private String actualAddiAmount;
    @TableField(exist = false)
    private String silenceType;
    @TableField(exist = false)
    private String contains;
    @TableField(exist = false)
    private int count;
}
